var cpu = []; // CPU使用率 y轴
var times = [];// x轴时间
var mem;
var cupChart;
var memChart;
var diskChart;
$(function() {
	loadinfo();
	loadCPU();
	loadMem();
	loadDiskUsage();
})

function loadinfo() {
	$.post("/monitor/info", function(data, status) {
		var info = "";
		info += "操作系统：" + data.osName + " (" + data.osVersion + ")<br/>";
		info += "JAVA名称：" + data.javaName + "<br/>";
		info += "JAVA供应商：" + data.javaVendor + "<br/>";
		info += "JAVA版本：" + data.javaVersion + "<br/>";
		info += "JVM最大内存：" + data.maxMemory + "MB<br/>";
		info += "JVM已用内存：" + data.totalMemory + "MB<br/>";
		info += "JVM空闲内存：" + data.freeMemory + "MB<br/>";
		$("#info").html(info);
	});
}

function loadDiskUsage() {

	// 基于准备好的dom，初始化echarts实例
	diskChart = echarts.init(document.getElementById('disk'));
	callDiskAPI();
	setInterval(function() {
		callDiskAPI();
	}, 5000);
}

// 2. 定时刷新调用的方法
function callDiskAPI() {
	$.post("/monitor/diskUsage", function(data, status) {
		// 请求成功时执行该函数内容，result即为服务器返回的json对象
		if (data != null) {
			diskOption = {
				tooltip : {
					trigger : 'axis',
					axisPointer : { // 坐标轴指示器，坐标轴触发有效
						type : 'shadow' // 默认为直线，可选为：'line' | 'shadow'
					}
				},
				xAxis : {
					type : 'category',
					data : [ '磁盘使用情况' ]
				},
				yAxis : {
					type : 'value'
				},
				series : [ {
					name : '磁盘使用',
					type : 'bar',
					stack : '总量',
					label : {
						normal : {
							show : true,
							position : 'insideRight'
						}
					},
					data : [ data ]
				}, {
					name : '磁盘空闲',
					type : 'bar',
					stack : '总量',
					label : {
						normal : {
							show : true,
							position : 'insideRight'
						}
					},
					data : [ (100 - data).toFixed(2) ]
				} ]
			};
			diskChart.setOption(diskOption); // 载入图表
			diskChart.hideLoading(); // 隐藏加载动画

		} else {
			// 返回的数据为空时显示提示信息
			diskChart.hideLoading();
		}
	});
}

function loadMem() {

	// 基于准备好的dom，初始化echarts实例
	memChart = echarts.init(document.getElementById('mem'));
	callMemAPI();
	setInterval(function() {
		callMemAPI();
	}, 5000);
}

// 2. 定时刷新调用的方法
function callMemAPI() {
	$.post("/monitor/memUsage", function(data, status) {
		// 请求成功时执行该函数内容，result即为服务器返回的json对象
		if (data != null) {
			memOption = {
				tooltip : {
					trigger : 'axis',
					axisPointer : { // 坐标轴指示器，坐标轴触发有效
						type : 'shadow' // 默认为直线，可选为：'line' | 'shadow'
					}
				},
				xAxis : {
					type : 'category',
					data : [ '内存使用情况' ]
				},
				yAxis : {
					type : 'value'
				},
				series : [ {
					name : '内存使用',
					type : 'bar',
					stack : '总量',
					label : {
						normal : {
							show : true,
							position : 'insideRight'
						}
					},
					data : [ data ]
				}, {
					name : '内存空闲',
					type : 'bar',
					stack : '总量',
					label : {
						normal : {
							show : true,
							position : 'insideRight'
						}
					},
					data : [ (100 - data).toFixed(2) ]
				} ]
			};
			memChart.setOption(memOption); // 载入图表
			memChart.hideLoading(); // 隐藏加载动画

		} else {
			// 返回的数据为空时显示提示信息
			memChart.hideLoading();
		}
	});
}

function loadCPU() {
	// 基于准备好的dom，初始化echarts实例
	cupChart = echarts.init(document.getElementById('cpu'));
	callCPUAPI();
	setInterval(function() {
		callCPUAPI();
	}, 90000);
}

// 2. 定时刷新调用的方法
function callCPUAPI() {
	$.post("/monitor/cpuRatio", function(data, status) {
		// 请求成功时执行该函数内容，result即为服务器返回的json对象
		if (data != null) {
			cpuOption = {
				tooltip : {
					trigger : 'axis',
					axisPointer : { // 坐标轴指示器，坐标轴触发有效
						type : 'shadow' // 默认为直线，可选为：'line' | 'shadow'
					}
				},
				xAxis : {
					type : 'category',
					data : [ 'CPU使用情况' ]
				},
				yAxis : {
					type : 'value'
				},
				series : [ {
					name : 'CPU使用',
					type : 'bar',
					stack : '总量',
					label : {
						normal : {
							show : true,
							position : 'insideRight'
						}
					},
					data : [ data ]
				}, {
					name : 'CPU空闲',
					type : 'bar',
					stack : '总量',
					label : {
						normal : {
							show : true,
							position : 'insideRight'
						}
					},
					data : [ (100 - data).toFixed(2) ]
				} ]
			};
			cupChart.setOption(cpuOption); // 载入图表
			cupChart.hideLoading(); // 隐藏加载动画

		} else {
			// 返回的数据为空时显示提示信息
			cupChart.hideLoading();
		}
	});
}